package com.gxa.controller;

import com.gxa.pojo.dto.LoginDto;
import com.gxa.service.UserService;
import com.gxa.utils.Result;
import com.gxa.utils.ResultUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author lch
 * @date 2024/3/25 15:21
 * @description 用户一键登录
 **/
@RestController
public class UserController {

    @Autowired
    private UserService userService;


    /**
     * 用户手机号一键登录
     * @param loginDto
     * @return
     */
    @PostMapping("/user/login")
    public Result login(LoginDto loginDto){
        //返回token和刷新token
        return ResultUtils.buildSuccess(this.userService.loginByPhone(loginDto));
    }


    /**
     * 根据token查询用户信息
     * @param token
     * @return
     */
    @PostMapping("/user/findUserByToken")
    public Result login(String token){
        //返回用户信息
        return ResultUtils.buildSuccess(this.userService.findUserByToken(token));
    }


    /**
     * 根据刷新token获取最新的token
     * @param refreshToken
     * @return
     */
    @PostMapping("/loginByRefreshToken")
    public Result loginByRefreshToken(String refreshToken){
        String token = userService.loginByRefreshToken(refreshToken);
        return ResultUtils.buildSuccess(token);
    }
}
